// pages/activity/activity.js
import { Activity } from '../../model/activity';
import { User } from '../../model/user';
Page({
  data: {
    hidden: false,
    gfActivity: [],
    gfPage: 1,
    gfLimit: 5,
    gfLast: true,
    sjMsg: [],
    sjPage: 1,
    sjLimit: 5,
    sjLast: true,
    grActivity: [],
    grPage: 1,
    grLimit: 5,
    grLast: true,
    userInfo: null,
    loginFrameShow: false,
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad () {
    wx.showLoading({
      title: '加载中',
    });
    this.setData({
      hidden: true,
    })
    // 官方活动
    this.getGfActivity();
  },
  /**
   * 获取官方活动
    */
  async getGfActivity() {
    const res = await Activity.getGfActivity({page: this.data.gfPage, limit: this.data.gfLimit})
    this.setData({
      gfActivity: res.data,
      gfPage: this.data.gfPage + 1,
    })
    if(res.data.length == 0) {
      this.setData({
        gfLast: false
      })
    }
    this.getSjMsg();
  },
  /**
   * 获取商家信息
   */
  async getSjMsg() {
    const res = await Activity.getSjMsg({page: this.data.sjPage, limit: this.data.sjLimit})
    this.setData({
      sjMsg: res.data,
      sjPage: this.data.gfPage + 1
    })
    if(res.data.length == 0) {
      this.setData({
        sjLast: false
      })
    }
    this.getGrActivity();
  },
  /**
   * 获取个人活动信息
   */
  async getGrActivity() {
    const res = await Activity.getGrActivity({page: this.data.grPage, limit: this.data.grLimit})
    this.setData({
      grActivity: res.data,
      grPage: this.data.gfPage + 1
    })
    if(res.data.length == 0) {
      this.setData({
        grLast: false
      })
    }
    this.getUserInfo();
  },
  /**
   * 获取用户信息
   */
  async getUserInfo() {
    const res = await User.getUserInfo();
    this.setData({
      userInfo: res
    })
    wx.hideLoading();
  },
  /**
   * 打开地图
   */
  openMap (e) {
    const point = e.currentTarget.dataset.point.split(',')
    // 使用微信内置地图查看位置
    wx.getLocation({
      type: 'gcj02', //返回可以用于wx.openLocation的经纬度
      success: function(res) {
        const latitude = point[0];
        const longitude = point[1];
        wx.openLocation({
          'latitude':Number(latitude),
          'longitude':Number(longitude),
          scale: 28,
          name: e.currentTarget.dataset.title
        })
      }
    })
  },
  /**
   * 打开官方活动列表
   */
  openOfficial(e) {
    wx.navigateTo({
      url: "./official?id="+e.currentTarget.id
    })
  },
  /**
   * 打开商家活动列表
   */
  openBusiness(e) {
    wx.navigateTo({
      url: "./business?id="+e.currentTarget.id
    })
  },
  /**
   * 打开个人活动列表
   */
  openPersonal(e) {
    wx.navigateTo({
      url: "./personal?id="+e.currentTarget.id
    })
  },
  /**
   * 打开个人活动信息创建 - 用户没有登录显示登录框
   */
  openCreatePersonal() {
    if(this.data.userInfo.status == 2) {
      wx.navigateTo({
        url: './create_personal'
      })
    } else {
      this.setData({
        loginFrameShow: true,
      })
    }
  },
  /**
   * 关闭登录弹框
   */
  closeLoginFrame() {
      this.setData({
        loginFrameShow: false
      })
  },
  /**
   * 触底加载新数据 - 未完成
   */
  onPullDownRefresh() {
    console.log(123);
  },
  /**
   * 更新用户信息
   */
  updateUserInfo() {
    const self = this
    wx.getUserProfile({
      desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      lang: 'zh_CN',
      success: (res) => {
        User.updateUserInfo({
          'nickname': res.userInfo.nickName,
          'head_img': res.userInfo.avatarUrl,
          'province': res.userInfo.province,
          'city': res.userInfo.city,
          'gender': res.userInfo.gender
        })
        self.closeLoginFrame();
        self.getUserInfo();
      }
    })
  },
})
